# 元组
a = ()
a1 = (1,'1',True,(1,2,3),5,6,)

# 元组长度：元组的元素个数
print(len(a1))
# 6
# 取值：正序从0开始,负数没有0.从-1开始.
print(a1[-3])


# list列表：数组
a = [1,2,'功劳',(1,2,3),[1.2,3]]

# 增加元素：最后增加
a.append("我要自杀")
print(a)
# [1, 2, '功劳', (1, 2, 3), [1.2, 3], '我要自杀']
# >>>


# 制定位置添加：
a.insert(-1,'123')
print(a)
# [1, 2, '功劳', (1, 2, 3), [1.2, 3], '123', '我要自杀']

# 修改元素
a[0] = '你爹'
print(a)
# >>> print(a)
# ['你爹', 2, '功劳', (1, 2, 3), [1.2, 3], '123', '123', '123', '我要自杀']      
# >>>

# 删除元素: 这里直接删除的是元素，而不是下标！
a.remove(2)
print(a)
# ['你爹', '功劳', (1, 2, 3), [1.2, 3], '123', '123', '123', '我要自杀']
# >>>

# list常用方法:

# 字典 json
a = {'username':'admin','password':'12345'}
# 取值：
print(a["username"])
print(a.get('password'))
# >>> print(a["username"])
# admin
# >>> print(a.get('password'))
# 12345
# >>> 

# 修改：
a['password'] = '123'
print(a)
# >>> print(a)
# {'username': 'admin', 'password': '123'}
# >>>

# 新增：如果新增的是元素是已经有的了，就是新增，否则就是修改


# 元组和数组的区别：元组不能被修改，数组可以被修改

# list的用法：
# 排序
d = [12,17,88,123,127]
d.sort()  
#  正序排列：从小到大排列
print(d)

d.sort(reverse=True) 
# 倒顺排列：从大到小
print(d)


# 集合：set和list的区别
# c = {1,2,3,4} set集合，不能有重复元素
# d = [1,2,3,4,4]  可以有重复元素

# 数据类型的相互转化
a = '1'
e = int(a)
print(e)

# print(type(e))   查看数据类型

c = 1
a = str(1)
print(a,type(a))
# >>> print(a,type(a))
# 1 <class 'str'>
# >>>


# 字符串转化为元组，数组，字典
f ="{'usermane':'123'}"
ff = eval(f)
print(ff,type(ff))
# >>> print(ff,type(ff))
# {'usermane': '123'} <class 'dict'>
# >>>
